home *** CD-ROM | disk | FTP | other *** search
/ Aminet 30 / Aminet 30 (1999)(Schatztruhe)[!][Apr 1999].iso / Aminet / text / dtp / Notes1.3.lha / Notes / deutsch / BassSchlüssel.rexx < prev    next >
OS/2 REXX Batch file  |  1999-02-18  |  42KB  |  1,359 lines

  1. /* Unterprogramm zu Noten.pprx */
  2.  
  3. signal on halt
  4. signal on break_c
  5. signal on break_e
  6. signal on break_d
  7. call ppm_SetStyle(N)
  8.  
  9. noteneingabe:
  10.     /* Kleinster Notenabstand */
  11.     sysart = "Notensystemart:2"
  12.     systemart = ppm_Getform("Bitte noch einmal die gewählte Systemart eingeben. (2, 1v oder 1b)", 3, sysart)
  13.     select
  14.     when systemart == '2' then zdist = 4
  15.     when systemart == '1v' then zdist = 2
  16.     when systemart == '1b' then zdist = 2
  17.     otherwise noteneingabe()
  18.     end
  19.     zdist2 = zdist-2
  20.     xgrdform = "(1,2,4,8 oder 16)"
  21.     xgrd = ppm_GetForm("Bitte für den kleinsten Notenwert eingeben ... (NICHTS=ABBRUCH)", 3, xgrdform)
  22.     if xgrd == '' then  exit_msg("Abbruch")
  23.     select
  24.      when xgrd == '1' then xg =0.7
  25.      when xgrd == '2' then xg =1.4
  26.      when xgrd == '4' then xg =2.8
  27.      when xgrd == '8' then xg =5.6
  28.      when xgrd == '16' then xg =11.2
  29.      otherwise notenwert()
  30.     end
  31.  
  32.    /* Punktgröße der Noten */
  33.    notepkt = 26
  34.    call ppm_SetJustification(0)
  35.  
  36.    zz = 0 /* Zeilenzähler */
  37.    notex = 0
  38.    notey = 0
  39.    page = ppm_CurrentPage()
  40.  
  41. clickpos:
  42.    res = ppm_GetUserText(2, "Manuell oder an Box ausrichten ? m/b")
  43.    if res == 'M' then res = 'm'
  44.    if res == 'B' then res = 'b'
  45.  select
  46.    when res == 'm' then
  47.      do
  48.        clickpos = ppm_GetClickPosition("Bitte die Stelle anklicken wo ich beginnen soll...")
  49.        if clickpos == 0 then
  50.            do
  51.            exit_msg("Falsche Eingabe !! ENDE !!")
  52.            end
  53.        else
  54.            do
  55.            notey = word(clickpos, 2)
  56.            notex = word(clickpos, 1)
  57.            if notex < 2.5 then notex = 2.5
  58.            xw = notex
  59.            yw = notey
  60.            if systemart ~= '2' then
  61.             do
  62.              if notey <= 3.3  then zz= 0   /* zz ist ZeilenZähler */
  63.              if ((notey > 3.5)&(notey < 5.3)) then zz = 2
  64.              if ((notey > 5.5)&(notey < 7.3)) then zz = 4
  65.              if ((notey > 7.5)&(notey < 9.3)) then zz = 6
  66.              if ((notey > 9.5)&(notey < 11.3)) then zz = 8
  67.              if ((notey > 11.5)&(notey < 13.3)) then zz = 10
  68.              if ((notey > 13.5)&(notey < 15.3)) then zz = 12
  69.              if ((notey > 15.5)&(notey < 17.3)) then zz = 14
  70.              if ((notey > 17.5)&(notey < 19.3)) then zz = 16
  71.              if ((notey > 19.5)&(notey < 21.3)) then zz = 18
  72.              if ((notey > 21.5)&(notey < 23.3)) then zz = 20
  73.              if ((notey > 23.5)&(notey < 25.3)) then zz = 22
  74.              if notey > 25.3 then noteneingabe()
  75.             end
  76.            else
  77.             do
  78.              if notey <= 3.3  then zz= 0   /* zz ist ZeilenZähler */
  79.              if ((notey > 3.5)&(notey < 5.3)) then zz = 4
  80.              if ((notey > 5.5)&(notey < 11.3)) then zz = 8
  81.              if ((notey > 11.5)&(notey < 15.3)) then zz = 12
  82.              if ((notey > 15.5)&(notey < 19.3)) then zz = 16
  83.              if ((notey > 19.5)&(notey < 23.3)) then zz = 20
  84.              if notey > 25.3 then noteneingabe()
  85.             end
  86.            end
  87.      end
  88.    when res == 'b' then
  89.       do
  90.         clickbox = ppm_ClickOnBox("Bitte eine Box anklicken, an der Stelle, wo es weitergeht ...")
  91.         pos = ppm_GetBoxPosition(clickbox)
  92.         notex = word(pos, 1)
  93.         notey = word(pos, 2)
  94.         xw = notex
  95.         yw = notey
  96.         call ppm_BoxAtPosn(notex, notey, page)
  97.         if systemart ~= '2' then
  98.          do
  99.           if notey <= 3.3  then zz= 0   /* zz ist ZeilenZähler */
  100.           if ((notey > 3.5)&(notey < 5.3)) then zz = 2
  101.           if ((notey > 5.5)&(notey < 7.3)) then zz = 4
  102.           if ((notey > 7.5)&(notey < 9.3)) then zz = 6
  103.           if ((notey > 9.5)&(notey < 11.3)) then zz = 8
  104.           if ((notey > 11.5)&(notey < 13.3)) then zz = 10
  105.           if ((notey > 13.5)&(notey < 15.3)) then zz = 12
  106.           if ((notey > 15.5)&(notey < 17.3)) then zz = 14
  107.           if ((notey > 17.5)&(notey < 19.3)) then zz = 16
  108.           if ((notey > 19.5)&(notey < 21.3)) then zz = 18
  109.           if ((notey > 21.5)&(notey < 23.3)) then zz = 20
  110.           if ((notey > 23.5)&(notey < 25.3)) then zz = 22
  111.           if notey > 25.3 then noteneingabe()
  112.          end
  113.         else
  114.          do
  115.           if notey <= 3.3  then zz= 0   /* zz ist ZeilenZähler */
  116.           if ((notey > 3.5)&(notey < 5.3)) then zz = 4
  117.           if ((notey > 5.5)&(notey < 11.3)) then zz = 8
  118.           if ((notey > 11.5)&(notey < 15.3)) then zz = 12
  119.           if ((notey > 15.5)&(notey < 19.3)) then zz = 16
  120.           if ((notey > 19.5)&(notey < 23.3)) then zz = 20
  121.           if notey > 25.3 then noteneingabe()
  122.          end
  123.         if notex <= 1 then
  124.         do
  125.           noteneingabe()
  126.         end
  127.       end
  128.    otherwise clickpos()
  129.  end
  130.  
  131.    /* Zeigerbox */
  132.  
  133.    zbid = ppm_CreateBox(notex, zz+zdist2+0.5, 0.3, 1, 0)
  134.    call ppm_SetSize(26)
  135.    zbn = ppm_GetBoxName(zbid)
  136.    call ppm_TextIntoBox(zbn, '5')
  137.  
  138. notenwert:
  139.  
  140.    do forever
  141.            cr = '0a'x
  142.            form = "Wert Name ['A'ufl.]"
  143.            call ppm_SetBoxPosition(zbid, notex, zz+zdist2+0.5)
  144.            call ppm_UpdateScreen()
  145.            eingabe = ppm_GetForm("Bitte für die Noten eingeben ...(nichts=Abbruch)", 9, form)
  146.            if eingabe == '' then
  147.            do
  148.             call ppm_DeleteBox(zbid)
  149.             exit_msg()
  150.            end
  151.            nw = word(eingabe, 1)
  152.            if nw == 'P' then nw = 'p'
  153.            nn = word(eingabe, 2)
  154.            al = word(eingabe, 3)
  155.            if al == 'A' then al = 'a'
  156.            IF nw == 'D' then nw = 'd'
  157.            if nw == 'LEFT' then nw = 'left'
  158.            if nw == 'L' then nw = 'l'
  159.            if nw == 'T' then nw = 't'
  160.            if nn == 'T' then nn = 't'
  161.            if nw == "NEU" then nw = "neu"
  162.  
  163.  
  164.             select
  165.               when nn=='DB1' then nn = 'Db1'
  166.               when nn=='EB1' then nn = 'Eb1'
  167.               when nn=='GB1' then nn = 'Gb1'
  168.               when nn=='AB1' then nn = 'Ab1'
  169.               when nn=='DB2' then nn = 'Db2'
  170.               when nn=='EB2' then nn = 'Eb2'
  171.               when nn=='GB2' then nn = 'Gb2'
  172.               when nn=='AB2' then nn = 'Ab2'
  173.               when nn=='DB3' then nn = 'Db3'
  174.               when nn=='EB3' then nn = 'Eb3'
  175.               when nn=='GB3' then nn = 'Gb3'
  176.               otherwise NOP
  177.             end
  178.  
  179.     /* x-Abstände der Noten zueinander */
  180. auswahl:
  181.      select
  182.       when nw == 's' then
  183.           do
  184.           xw = xg/16
  185.           nw='x'
  186.           yv = 0
  187.           end
  188.       when nw  == 'S' then
  189.           do
  190.           xw = xg/16
  191.           nw='X'
  192.           yv = 0.47
  193.           end
  194.       when nw == 'a' then
  195.           do
  196.           xw = xg/8
  197.           nw='e'
  198.           yv = 0
  199.           end
  200.       when nw == 'A' then
  201.           do
  202.           xw = xg/8
  203.           nw='E'
  204.           yv = 0.47
  205.           end
  206.       when nw == 'v' then
  207.           do
  208.           xw = xg/4
  209.           nw='q'
  210.           yv = 0
  211.           end
  212.       when nw == 'V' then
  213.           do
  214.           xw = xg/4
  215.           nw='Q'
  216.           yv = 0.47
  217.           end
  218.       when nw == 'h' then
  219.           do
  220.           xw = xg/2
  221.           yv = 0
  222.           end
  223.       when nw == 'H' then
  224.           do
  225.           xw = xg/2
  226.           yv = 0.47
  227.           end
  228.       when nw == 'g' then
  229.           do
  230.           xw = xg
  231.           nw='w'
  232.           yv = 0
  233.           end
  234.       when nw == 'G' then
  235.           do
  236.           xw = xg
  237.           nw='W'
  238.           yv = 0.47
  239.           end
  240.  
  241.      /* Sprung an den Anfang der Zeile */
  242.       when nw == 'left' then
  243.           do
  244.            call ppm_SetPagePosition(0, zz+zdist2+0.5)
  245.           end
  246.  
  247.      /* Punkt nach der Note - muß als erstes eingegeben werden falls gewünscht
  248.         den nötigen Freiraum mit "sp" eingeben */
  249.  
  250.       when nw == 'pk' then
  251.           do
  252.             if notex < 3 then
  253.             do
  254.               notex = bakx
  255.               zz = zz - zdist
  256.               call ppm_SetSize(25)
  257.               box#id = ppm_CreateBox(notex+0.4, yw+zz+0.26-yv, 0.3, 0.9, 0)
  258.               call ppm_SetSize(20)
  259.               call ppm_TextIntoBox(box#id, 'd')
  260.             end
  261.             else
  262.             do
  263.               call ppm_SetSize(25)
  264.               box#id = ppm_CreateBox(notex-xw+0.4, yw+zz+0.26-yv, 0.3, 0.9, 0)
  265.               call ppm_SetSize(20)
  266.               call ppm_TextIntoBox(box#id, 'd')
  267.             end
  268.            select
  269.                when nn == '1' then
  270.                do
  271.                xw = xg
  272.                notex = notex+xw
  273.                end
  274.                when nn == '2' then
  275.                do
  276.                xw = xg/2
  277.                notex = notex+xw
  278.                end
  279.                when nn == '4' then
  280.                do
  281.                xw = xg/4
  282.                notex = notex+xw
  283.                end
  284.                when nn == '8' then
  285.                do
  286.                xw = xg/8
  287.                notex = notex+xw
  288.                end
  289.                when nn == '16' then
  290.                do
  291.                xw  = xg/16
  292.                notex = notex+xw
  293.                end
  294.                when nn == 't' then
  295.                do
  296.                xw  = 0.2
  297.                notex = notex+xw
  298.                end
  299.                otherwise notenwert()
  300.            end
  301.            if notex >=18.7 then
  302.                do
  303.                  notex = 2.5
  304.                  zz = zz + zdist
  305.                end
  306.            px = notex - 4
  307.            py = zz-1
  308.            if px < 0 then px = 0
  309.            call ppm_SetPagePosition(px, py+1.5)
  310.            notenwert()
  311.  
  312.           end
  313.  
  314.       when nw == 'PK' then
  315.           do
  316.             if notex < 3 then
  317.             do
  318.               notex = bakx
  319.               zz = zz - zdist
  320.               call ppm_SetSize(25)
  321.               box#id = ppm_CreateBox(notex+0.4, yw+zz+0.26-yv, 0.3, 0.9, 0)
  322.               call ppm_SetSize(20)
  323.               call ppm_TextIntoBox(box#id, 'd')
  324.             end
  325.             else
  326.             do
  327.               call ppm_SetSize(25)
  328.               box#id = ppm_CreateBox(notex-xw+0.4, yw+zz+0.26-yv, 0.3, 0.9, 0)
  329.               call ppm_SetSize(20)
  330.               call ppm_TextIntoBox(box#id, 'd')
  331.             end
  332.            select
  333.                when nn == '1' then
  334.                do
  335.                xw = xg
  336.                notex = notex+xw
  337.                end
  338.                when nn == '2' then
  339.                do
  340.                xw = xg/2
  341.                notex = notex+xw
  342.                end
  343.                when nn == '4' then
  344.                do
  345.                xw = xg/4
  346.                notex = notex+xw
  347.                end
  348.                when nn == '8' then
  349.                do
  350.                xw = xg/8
  351.                notex = notex+xw
  352.                end
  353.                when nn == '16' then
  354.                do
  355.                xw  = xg/16
  356.                notex = notex+xw
  357.                end
  358.                when nn == 't' then
  359.                do
  360.                xw  = 0.2
  361.                notex = notex+xw
  362.                end
  363.                otherwise notenwert()
  364.            end
  365.            if notex >=18.7 then
  366.                do
  367.                  notex = 2.5
  368.                  zz = zz + zdist
  369.                end
  370.            px = notex - 4
  371.            py = zz-1
  372.            if px < 0 then px = 0
  373.            call ppm_SetPagePosition(px, py+1.5)
  374.            notenwert()
  375.           end
  376.  
  377.  
  378.      /* Löschen */
  379.       when nw == 'd' then
  380.           do
  381.            oldpos = notex
  382.            thisbox = ppm_BoxNum()
  383.            if thisbox == zbid then
  384.              do
  385.              ppm_Inform(1, "Nichts mehr zu löschen!","OK")
  386.              notenwert()
  387.              end
  388.            lpos= ppm_GetBoxPosition()
  389.            notex = word(lpos, 1)
  390.            call ppm_DeleteBox()
  391.            diff = oldpos - notex
  392.            if (diff < 0.3)&(diff > 0.1) then notex = notex + 0.23
  393.            py = zz - 1
  394.            px = notex - 4
  395.            if px < 0 then px = 0
  396.            call ppm_SetPagePosition(px, py+1.5)
  397.            notenwert()
  398.           end
  399.  
  400.       /* Taktstrich */
  401.       when nw == 't' then
  402.           do
  403.            call ppm_SetLineWeight(0.25)
  404.            call ppm_DrawLine(notex, 2+zz+zdist2, notex, 2.8+zz+zdist2)
  405.            notex = notex+0.2
  406.           end
  407.  
  408.  
  409.       when nw == 'p' | when nw == 'P' then
  410.       do
  411. pausenwert:
  412.         /* wert = ppm_GetForm("1/1 1/2 1/4 1/8 1/16 ...?", 2, "1 , 2, 4, 8, 16") */
  413.         x = notex
  414.         select
  415.             when nn == '1' then do
  416.  
  417.                 y = 2.29+zz+zdist2
  418.                 call ppm_SetLineWeight(4)
  419.                 call ppm_DrawLine(x, y, x+0.4, y)
  420.                 call ppm_SetLineWeight(0.25)
  421.                 xw = xg
  422.                 notex = notex+xw
  423.             end
  424.  
  425.             when nn == '2' then do
  426.  
  427.                 y = 2.33+zz+zdist2
  428.                 call ppm_SetLineWeight(4)
  429.                 call ppm_DrawLine(x, y, x+0.4, y)
  430.                 call ppm_SetLineWeight(0.25)
  431.                 xw = xg/2
  432.                 notex = notex+xw
  433.             end
  434.  
  435.             when nn == '4' then do
  436.  
  437.                 y = 2.07+zz+zdist2
  438.                 Pbox = ppm_CreateBox(x, y, 0.59, 0.86, 0)
  439.                 boxnm = ppm_DocNextBox(Pbox)
  440.                 call ppm_DeleteContents(boxnm)
  441.                 call ppm_ImportGraphic(boxnm, 'Genies:noten_pausen/viertelPause', pause)
  442.                 xw = xg/4
  443.                 notex = notex+xw
  444.             end
  445.  
  446.             when nn == '8' then do
  447.  
  448.                 y = 2.21+zz+zdist2
  449.                 Pbox = ppm_CreateBox(x, y, 0.27, 0.42, 0)
  450.                 boxnm = ppm_DocNextBox(Pbox)
  451.                 call ppm_DeleteContents(boxnm)
  452.                 call ppm_ImportGraphic(boxnm, 'Genies:noten_pausen/achtelPause', pause)
  453.                 xw = xg/8
  454.                 notex = notex+xw
  455.             end
  456.  
  457.             when nn == '16' then do
  458.  
  459.                 y = 2.21+zz+zdist2
  460.                 Pbox = ppm_CreateBox(x, y, 0.27, 0.42, 0)
  461.                 boxnm = ppm_DocNextBox(Pbox)
  462.                 call ppm_DeleteContents(boxnm)
  463.                 call ppm_ImportGraphic(boxnm, 'Genies:noten_pausen/sechzehntelPause', pause)
  464.                 xw = xg/16
  465.                 notex = notex+xw
  466.             end
  467.         otherwise notenwert()
  468.         end
  469.         if notex >=18.7 then
  470.             do
  471.               notex = 2.5
  472.               zz = zz + zdist
  473.             end
  474.         px = notex - 4
  475.         py = zz-1
  476.         if px < 0 then px = 0
  477.         call ppm_SetPagePosition(px, py+1.5)
  478.         notenwert()
  479.       end
  480.  
  481.     /* Freiräume "space" */
  482.  
  483.       when nw == 'l' then
  484.         do
  485.  
  486.            /* wert = ppm_GetForm("1/1 1/2 1/4 1/8 1/16 ...?", 2, "1 , 2, 4, 8, 16") */
  487.            select
  488.                when nn == '1' then
  489.                do
  490.                xw = xg
  491.                notex = notex+xw
  492.                end
  493.                when nn == '2' then
  494.                do
  495.                xw = xg/2
  496.                notex = notex+xw
  497.                end
  498.                when nn == '4' then
  499.                do
  500.                xw = xg/4
  501.                notex = notex+xw
  502.                end
  503.                when nn == '8' then
  504.                do
  505.                xw = xg/8
  506.                notex = notex+xw
  507.                end
  508.                when nn == '16' then
  509.                do
  510.                xw  = xg/16
  511.                notex = notex+xw
  512.                end
  513.                when nn == 't' then
  514.                do
  515.                xw  = 0.2
  516.                notex = notex+xw
  517.                end
  518.                otherwise notenwert()
  519.            end
  520.            if notex >=18.7 then
  521.                do
  522.                  notex = 2.5
  523.                  zz = zz + zdist
  524.                end
  525.            px = notex - 4
  526.            py = zz-1
  527.            if px < 0 then px = 0
  528.            call ppm_SetPagePosition(px, py+1.5)
  529.            notenwert()
  530.         end
  531.  
  532.       when nw == 'neu' then
  533.         do
  534.           call ppm_DeleteBox(zbid)
  535.           clickpos()
  536.         end
  537.       otherwise notenwert()
  538.       end
  539.  
  540.         /* y-Raster der Noten - Notenhälse nach oben (y-Position der Box) */
  541.  
  542.        call ppm_SetLineWeight(0.25)
  543.  
  544.       select
  545.         when nn=='g#3'  then
  546.         do
  547.             yw = 0.745 + zdist2
  548.             box#id = ppm_CreateBox(notex-0.22, yw+zz+0.32, 0.35, 0.75, 0)
  549.             call ppm_SetSize(20)
  550.             call ppm_TextIntoBox(box#id, 's')
  551.             call ppm_DrawLine(notex, zz+zdist2+1.8, (notex+0.4), zz+zdist2+1.8)
  552.             call ppm_DrawLine(notex, zz+zdist2+1.6, (notex+0.4), zz+zdist2+1.6)
  553.             call ppm_DrawLine(notex, zz+zdist2+1.4, (notex+0.4), zz+zdist2+1.4)
  554.         end
  555.  
  556.         when nn=='g3'  then
  557.         do
  558.             yw = 0.745 + zdist2
  559.             if al == 'a' then call auflhoch()
  560.             call ppm_DrawLine(notex, zz+zdist2+1.8, (notex+0.4), zz+zdist2+1.8)
  561.             call ppm_DrawLine(notex, zz+zdist2+1.6, (notex+0.4), zz+zdist2+1.6)
  562.             call ppm_DrawLine(notex, zz+zdist2+1.4, (notex+0.4), zz+zdist2+1.4)
  563.         end
  564.  
  565.         when nn=='gb3' then
  566.         do
  567.             yw = 0.745 + zdist2
  568.             box#id = ppm_CreateBox(notex-0.22, yw+zz+0.21, 0.35, 0.75, 0)
  569.             call ppm_SetSize(20)
  570.             call ppm_TextIntoBox(box#id, 'f')
  571.             call ppm_DrawLine(notex, zz+zdist2+1.8, (notex+0.4), zz+zdist2+1.8)
  572.             call ppm_DrawLine(notex, zz+zdist2+1.6, (notex+0.4), zz+zdist2+1.6)
  573.             call ppm_DrawLine(notex, zz+zdist2+1.4, (notex+0.4), zz+zdist2+1.4)
  574.         end
  575.  
  576.         when nn=='f#3'  then
  577.         do
  578.             yw = 0.845 + zdist2
  579.             box#id = ppm_CreateBox(notex-0.22, yw+zz+0.32, 0.35, 0.75, 0)
  580.             call ppm_SetSize(20)
  581.             call ppm_TextIntoBox(box#id, 's')
  582.             call ppm_DrawLine(notex, zz+zdist2+1.8, (notex+0.4), zz+zdist2+1.8)
  583.             call ppm_DrawLine(notex, zz+zdist2+1.6, (notex+0.4), zz+zdist2+1.6)
  584.         end
  585.  
  586.         when nn=='f3'  then
  587.         do
  588.             yw = 0.845 + zdist2
  589.             if al == 'a' then call auflhoch()
  590.             call ppm_DrawLine(notex, zz+zdist2+1.8, (notex+0.4), zz+zdist2+1.8)
  591.             call ppm_DrawLine(notex, zz+zdist2+1.6, (notex+0.4), zz+zdist2+1.6)
  592.         end
  593.  
  594.         when nn=='e#3'  then
  595.         do
  596.             yw = 0.945 + zdist2
  597.             box#id = ppm_CreateBox(notex-0.22, yw+zz+0.32, 0.35, 0.75, 0)
  598.             call ppm_SetSize(20)
  599.             call ppm_TextIntoBox(box#id, 's')
  600.             call ppm_DrawLine(notex, zz+zdist2+1.8, (notex+0.4), zz+zdist2+1.8)
  601.             call ppm_DrawLine(notex, zz+zdist2+1.6, (notex+0.4), zz+zdist2+1.6)
  602.         end
  603.  
  604.         when nn=='e3'  then
  605.         do
  606.             yw = 0.945 + zdist2
  607.             if al == 'a' then call auflhoch()
  608.             call ppm_DrawLine(notex, zz+zdist2+1.8, (notex+0.4), zz+zdist2+1.8)
  609.             call ppm_DrawLine(notex, zz+zdist2+1.6, (notex+0.4), zz+zdist2+1.6)
  610.         end
  611.  
  612.         when nn=='eb3' then
  613.         do
  614.             yw = 0.945 + zdist2
  615.             box#id = ppm_CreateBox(notex-0.22, yw+zz+0.21, 0.35, 0.75, 0)
  616.             call ppm_SetSize(20)
  617.             call ppm_TextIntoBox(box#id, 'f')
  618.             call ppm_DrawLine(notex, zz+zdist2+1.8, (notex+0.4), zz+zdist2+1.8)
  619.             call ppm_DrawLine(notex, zz+zdist2+1.6, (notex+0.4), zz+zdist2+1.6)
  620.         end
  621.  
  622.         when nn=='d#3'  then
  623.         do
  624.             yw = 1.045 + zdist2
  625.             box#id = ppm_CreateBox(notex-0.22, yw+zz+0.32, 0.35, 0.75, 0)
  626.             call ppm_SetSize(20)
  627.             call ppm_TextIntoBox(box#id, 's')
  628.             call ppm_DrawLine(notex, zz+zdist2+1.8, (notex+0.4), zz+zdist2+1.8)
  629.         end
  630.  
  631.         when nn=='d3' then
  632.         do
  633.             yw = 1.045 + zdist2
  634.             if al == 'a' then call auflhoch()
  635.             call ppm_DrawLine(notex, zz+zdist2+1.8, (notex+0.4), zz+zdist2+1.8)
  636.         end
  637.  
  638.         when nn=='db3'    then
  639.         do
  640.             yw = 1.045 + zdist2
  641.             box#id = ppm_CreateBox(notex-0.22, yw+zz+0.21, 0.35, 0.75, 0)
  642.             call ppm_SetSize(20)
  643.             call ppm_TextIntoBox(box#id, 'f')
  644.             call ppm_DrawLine(notex, zz+zdist2+1.8, (notex+0.4), zz+zdist2+1.8)
  645.         end
  646.  
  647.         when nn=='c#3'    then
  648.         do
  649.             yw = 1.145 + zdist2
  650.             box#id = ppm_CreateBox(notex-0.22, yw+zz+0.32, 0.35, 0.75, 0)
  651.             call ppm_SetSize(20)
  652.             call ppm_TextIntoBox(box#id, 's')
  653.             call ppm_DrawLine(notex, zz+zdist2+1.8, (notex+0.4), zz+zdist2+1.8)
  654.         end
  655.  
  656.         when nn=='c3'     then
  657.         do
  658.             yw = 1.145 + zdist2
  659.             if al == 'a' then call auflhoch()
  660.             call ppm_DrawLine(notex, zz+zdist2+1.8, (notex+0.4), zz+zdist2+1.8)
  661.         end
  662.  
  663.         when nn=='h2'     then
  664.         do
  665.             yw = 1.245 + zdist2
  666.             if al == 'a' then call auflhoch()
  667.         end
  668.         when nn=='b2'     then
  669.         do
  670.             yw = 1.245 + zdist2
  671.             box#id = ppm_CreateBox(notex-0.22, yw+zz+0.21, 0.35, 0.75, 0)
  672.             call ppm_SetSize(20)
  673.             call ppm_TextIntoBox(box#id, 'f')
  674.         end
  675.  
  676.         when nn=='a#2'    then
  677.         do
  678.             yw = 1.345 + zdist2
  679.             box#id = ppm_CreateBox(notex-0.22, yw+zz+0.32, 0.35, 0.75, 0)
  680.             call ppm_SetSize(20)
  681.             call ppm_TextIntoBox(box#id, 's')
  682.         end
  683.  
  684.         when nn=='a2'     then
  685.         do
  686.             yw = 1.345 + zdist2
  687.             if al == 'a' then call auflhoch()
  688.         end
  689.         when nn=='ab2'    then
  690.         do
  691.             yw = 1.345 + zdist2
  692.             box#id = ppm_CreateBox(notex-0.22, yw+zz+0.21, 0.35, 0.75, 0)
  693.             call ppm_SetSize(20)
  694.             call ppm_TextIntoBox(box#id, 'f')
  695.         end
  696.  
  697.         when nn=='g#2'    then
  698.         do
  699.             yw = 1.445 + zdist2
  700.             box#id = ppm_CreateBox(notex-0.22, yw+zz+0.32, 0.35, 0.75, 0)
  701.             call ppm_SetSize(20)
  702.             call ppm_TextIntoBox(box#id, 's')
  703.         end
  704.  
  705.         when nn=='g2'     then
  706.         do
  707.             yw = 1.445 + zdist2
  708.             if al == 'a' then call auflhoch()
  709.         end
  710.         when nn=='gb2'    then
  711.         do
  712.             yw = 1.445 + zdist2
  713.             box#id = ppm_CreateBox(notex-0.22, yw+zz+0.21, 0.35, 0.75, 0)
  714.             call ppm_SetSize(20)
  715.             call ppm_TextIntoBox(box#id, 'f')
  716.         end
  717.  
  718.         when nn=='f#2'    then
  719.         do
  720.             yw = 1.545 + zdist2
  721.             box#id = ppm_CreateBox(notex-0.22, yw+zz+0.32, 0.35, 0.75, 0)
  722.             call ppm_SetSize(20)
  723.             call ppm_TextIntoBox(box#id, 's')
  724.         end
  725.  
  726.         when nn=='f2' then
  727.         do
  728.             yw = 1.545 + zdist2
  729.             if al == 'a' then call auflhoch()
  730.         end
  731.         when nn=='e#2'  then
  732.         do
  733.             yw = 1.645 + zdist2
  734.             box#id = ppm_CreateBox(notex-0.22, yw+zz+0.32, 0.35, 0.75, 0)
  735.             call ppm_SetSize(20)
  736.             call ppm_TextIntoBox(box#id, 's')
  737.         end
  738.         when nn=='e2'     then
  739.         do
  740.             yw = 1.645 + zdist2
  741.             if al == 'a' then call auflhoch()
  742.         end
  743.         when nn=='eb2'    then
  744.         do
  745.             yw = 1.645 + zdist2
  746.             box#id = ppm_CreateBox(notex-0.22, yw+zz+0.21, 0.35, 0.75, 0)
  747.             call ppm_SetSize(20)
  748.             call ppm_TextIntoBox(box#id, 'f')
  749.         end
  750.  
  751.         when nn=='d#2'    then
  752.         do
  753.             yw = 1.745 + zdist2
  754.             box#id = ppm_CreateBox(notex-0.22, yw+zz+0.32, 0.35, 0.75, 0)
  755.             call ppm_SetSize(20)
  756.             call ppm_TextIntoBox(box#id, 's')
  757.         end
  758.  
  759.         when nn=='d2'     then
  760.         do
  761.             yw = 1.745 + zdist2
  762.             if al == 'a' then call auflhoch()
  763.         end
  764.         when nn=='db2'    then
  765.         do
  766.             yw = 1.745 + zdist2
  767.             box#id = ppm_CreateBox(notex-0.22, yw+zz+0.21, 0.35, 0.75, 0)
  768.             call ppm_SetSize(20)
  769.             call ppm_TextIntoBox(box#id, 'f')
  770.         end
  771.  
  772.         when nn=='c#2'    then
  773.         do
  774.             yw = 1.845 + zdist2
  775.             box#id = ppm_CreateBox(notex-0.22, yw+zz+0.32, 0.35, 0.75, 0)
  776.             call ppm_SetSize(20)
  777.             call ppm_TextIntoBox(box#id, 's')
  778.         end
  779.  
  780.         when nn=='c2'     then
  781.         do
  782.             yw = 1.845 + zdist2
  783.             if al == 'a' then call auflhoch()
  784.         end
  785.         when nn=='h1'     then
  786.         do
  787.             yw = 1.945 + zdist2
  788.             if al == 'a' then call auflhoch()
  789.         end
  790.         when nn=='b1'     then
  791.         do
  792.             yw = 1.945 + zdist2
  793.             box#id = ppm_CreateBox(notex-0.22, yw+zz+0.21, 0.35, 0.75, 0)
  794.             call ppm_SetSize(20)
  795.             call ppm_TextIntoBox(box#id, 'f')
  796.         end
  797.  
  798.         when nn=='a#1'    then
  799.         do
  800.             yw = 2.045 + zdist2
  801.             box#id = ppm_CreateBox(notex-0.22, yw+zz+0.32, 0.35, 0.75, 0)
  802.             call ppm_SetSize(20)
  803.             call ppm_TextIntoBox(box#id, 's')
  804.         end
  805.  
  806.         when nn=='a1'     then
  807.         do
  808.             yw = 2.045 + zdist2
  809.             if al == 'a' then call auflhoch()
  810.         end
  811.         when nn=='ab1'    then
  812.         do
  813.             yw = 2.045 + zdist2
  814.             box#id = ppm_CreateBox(notex-0.22, yw+zz+0.21, 0.35, 0.75, 0)
  815.             call ppm_SetSize(20)
  816.             call ppm_TextIntoBox(box#id, 'f')
  817.         end
  818.  
  819.         when nn=='g#1'    then
  820.         do
  821.             yw = 2.145 + zdist2
  822.             box#id = ppm_CreateBox(notex-0.22, yw+zz+0.32, 0.35, 0.75, 0)
  823.             call ppm_SetSize(20)
  824.             call ppm_TextIntoBox(box#id, 's')
  825.         end
  826.  
  827.         when nn=='g1'     then
  828.         do
  829.             yw = 2.145 + zdist2
  830.             if al == 'a' then call auflhoch()
  831.         end
  832.         when nn=='gb1'    then
  833.         do
  834.             yw = 2.145 + zdist2
  835.             box#id = ppm_CreateBox(notex-0.22, yw+zz+0.21, 0.35, 0.75, 0)
  836.             call ppm_SetSize(20)
  837.             call ppm_TextIntoBox(box#id, 'f')
  838.         end
  839.  
  840.         when nn=='f#1'    then
  841.         do
  842.             yw = 2.245 + zdist2
  843.             box#id = ppm_CreateBox(notex-0.22, yw+zz+0.32, 0.35, 0.75, 0)
  844.             call ppm_SetSize(20)
  845.             call ppm_TextIntoBox(box#id, 's')
  846.         end
  847.  
  848.         when nn=='f1'     then
  849.         do
  850.             yw = 2.245 + zdist2
  851.             if al == 'a' then call auflhoch()
  852.         end
  853.  
  854.         when nn=='e#1'  then
  855.         do
  856.             yw = 2.345 + zdist2
  857.             box#id = ppm_CreateBox(notex-0.22, yw+zz+0.32, 0.35, 0.75, 0)
  858.             call ppm_SetSize(20)
  859.             call ppm_TextIntoBox(box#id, 's')
  860.             call ppm_DrawLine(notex, zz+zdist2+3, (notex+0.4), zz+zdist2+3)
  861.         end
  862.         when nn=='e1' then
  863.         do
  864.             yw = 2.345 + zdist2
  865.             if al == 'a' then call auflhoch()
  866.             call ppm_DrawLine(notex, zz+zdist2+3, (notex+0.4), zz+zdist2+3)
  867.         end
  868.  
  869.         when nn=='eb1'  then
  870.         do
  871.             yw = 2.345 + zdist2
  872.             box#id = ppm_CreateBox(notex-0.22, yw+zz+0.21, 0.35, 0.75, 0)
  873.             call ppm_SetSize(20)
  874.             call ppm_TextIntoBox(box#id, 'f')
  875.             call ppm_DrawLine(notex, zz+zdist2+3, (notex+0.4), zz+zdist2+3)
  876.         end
  877.  
  878.         when nn=='d#1'  then
  879.         do
  880.             yw = 2.445 + zdist2
  881.             box#id = ppm_CreateBox(notex-0.22, yw+zz+0.32, 0.35, 0.75, 0)
  882.             call ppm_SetSize(20)
  883.             call ppm_TextIntoBox(box#id, 's')
  884.             call ppm_DrawLine(notex, zz+zdist2+3, (notex+0.4), zz+zdist2+3)
  885.         end
  886.  
  887.         when nn=='d1'  then
  888.         do
  889.             yw = 2.445 + zdist2
  890.             if al == 'a' then call auflhoch()
  891.             call ppm_DrawLine(notex, zz+zdist2+3, (notex+0.4), zz+zdist2+3)
  892.         end
  893.  
  894.         when nn=='db1' then
  895.         do
  896.             yw = 2.445 + zdist2
  897.             box#id = ppm_CreateBox(notex-0.22, yw+zz+0.21, 0.35, 0.75, 0)
  898.             call ppm_SetSize(20)
  899.             call ppm_TextIntoBox(box#id, 'f')
  900.             call ppm_DrawLine(notex, zz+zdist2+3, (notex+0.4), zz+zdist2+3)
  901.         end
  902.  
  903.         when nn=='c#1'  then
  904.         do
  905.             yw = 2.545 + zdist2
  906.             box#id = ppm_CreateBox(notex-0.22, yw+zz+0.32, 0.35, 0.75, 0)
  907.             call ppm_SetSize(20)
  908.             call ppm_TextIntoBox(box#id, 's')
  909.             call ppm_DrawLine(notex, zz+zdist2+3, (notex+0.4), zz+zdist2+3)
  910.             call ppm_DrawLine(notex, zz+zdist2+3.2, (notex+0.4), zz+zdist2+3.2)
  911.         end
  912.  
  913.         when nn=='c1'  then
  914.         do
  915.             yw = 2.545 + zdist2
  916.             if al == 'a' then call auflhoch()
  917.             call ppm_DrawLine(notex, zz+zdist2+3, (notex+0.4), zz+zdist2+3)
  918.             call ppm_DrawLine(notex, zz+zdist2+3.2, (notex+0.4), zz+zdist2+3.2)
  919.         end
  920.  
  921.     /* y-Raster der Noten - Notenhälse nach unten */
  922.  
  923.         when nn=='G#3'  then
  924.         do
  925.             yw = 1.22 + zdist2
  926.             box#id = ppm_CreateBox(notex-0.24, yw+zz-0.15, 0.35, 0.75, 0)
  927.             call ppm_SetSize(20)
  928.             call ppm_TextIntoBox(box#id, 's')
  929.             call ppm_DrawLine(notex, zz+zdist2+1.8, (notex+0.4), zz+zdist2+1.8)
  930.             call ppm_DrawLine(notex, zz+zdist2+1.6, (notex+0.4), zz+zdist2+1.6)
  931.             call ppm_DrawLine(notex, zz+zdist2+1.4, (notex+0.4), zz+zdist2+1.4)
  932.         end
  933.  
  934.         when nn=='G3'  then
  935.         do
  936.             yw = 1.22 + zdist2
  937.             if al == 'a' then call aufltief()
  938.             call ppm_DrawLine(notex, zz+zdist2+1.8, (notex+0.4), zz+zdist2+1.8)
  939.             call ppm_DrawLine(notex, zz+zdist2+1.6, (notex+0.4), zz+zdist2+1.6)
  940.             call ppm_DrawLine(notex, zz+zdist2+1.4, (notex+0.4), zz+zdist2+1.4)
  941.         end
  942.  
  943.         when nn=='Gb3' then
  944.         do
  945.             yw = 1.22 + zdist2
  946.             box#id = ppm_CreateBox(notex-0.24, yw+zz-0.27, 0.35, 0.75, 0)
  947.             call ppm_SetSize(20)
  948.             call ppm_TextIntoBox(box#id, 'f')
  949.             call ppm_DrawLine(notex, zz+zdist2+1.8, (notex+0.4), zz+zdist2+1.8)
  950.             call ppm_DrawLine(notex, zz+zdist2+1.6, (notex+0.4), zz+zdist2+1.6)
  951.             call ppm_DrawLine(notex, zz+zdist2+1.4, (notex+0.4), zz+zdist2+1.4)
  952.         end
  953.  
  954.         when nn=='F#3'  then
  955.         do
  956.             yw = 1.32 + zdist2
  957.             box#id = ppm_CreateBox(notex-0.24, yw+zz-0.15, 0.35, 0.75, 0)
  958.             call ppm_SetSize(20)
  959.             call ppm_TextIntoBox(box#id, 's')
  960.             call ppm_DrawLine(notex, zz+zdist2+1.8, (notex+0.4), zz+zdist2+1.8)
  961.             call ppm_DrawLine(notex, zz+zdist2+1.6, (notex+0.4), zz+zdist2+1.6)
  962.         end
  963.  
  964.         when nn=='F3'  then
  965.         do
  966.             yw = 1.32 + zdist2
  967.             if al == 'a' then call aufltief()
  968.             call ppm_DrawLine(notex, zz+zdist2+1.8, (notex+0.4), zz+zdist2+1.8)
  969.             call ppm_DrawLine(notex, zz+zdist2+1.6, (notex+0.4), zz+zdist2+1.6)
  970.         end
  971.  
  972.         when nn=='E#3'  then
  973.         do
  974.             yw = 1.42 + zdist2
  975.             box#id = ppm_CreateBox(notex-0.24, yw+zz-0.15, 0.35, 0.75, 0)
  976.             call ppm_SetSize(20)
  977.             call ppm_TextIntoBox(box#id, 's')
  978.             call ppm_DrawLine(notex, zz+zdist2+1.8, (notex+0.4), zz+zdist2+1.8)
  979.             call ppm_DrawLine(notex, zz+zdist2+1.6, (notex+0.4), zz+zdist2+1.6)
  980.         end
  981.  
  982.         when nn=='E3'  then
  983.         do
  984.             yw = 1.42 + zdist2
  985.             if al == 'a' then call aufltief()
  986.             call ppm_DrawLine(notex, zz+zdist2+1.8, (notex+0.4), zz+zdist2+1.8)
  987.             call ppm_DrawLine(notex, zz+zdist2+1.6, (notex+0.4), zz+zdist2+1.6)
  988.         end
  989.  
  990.         when nn=='Eb3' then
  991.         do
  992.             yw = 1.42 + zdist2
  993.             box#id = ppm_CreateBox(notex-0.24, yw+zz-0.27, 0.35, 0.75, 0)
  994.             call ppm_SetSize(20)
  995.             call ppm_TextIntoBox(box#id, 'f')
  996.             call ppm_DrawLine(notex, zz+zdist2+1.8, (notex+0.4), zz+zdist2+1.8)
  997.             call ppm_DrawLine(notex, zz+zdist2+1.6, (notex+0.4), zz+zdist2+1.6)
  998.         end
  999.  
  1000.         when nn=='D#3'  then
  1001.         do
  1002.             yw = 1.52 + zdist2
  1003.             box#id = ppm_CreateBox(notex-0.24, yw+zz-0.15, 0.35, 0.75, 0)
  1004.             call ppm_SetSize(20)
  1005.             call ppm_TextIntoBox(box#id, 's')
  1006.             call ppm_DrawLine(notex, zz+zdist2+1.8, (notex+0.4), zz+zdist2+1.8)
  1007.         end
  1008.  
  1009.         when nn=='D3' then
  1010.         do
  1011.             yw = 1.52 + zdist2
  1012.             if al == 'a' then call aufltief()
  1013.             call ppm_DrawLine(notex, zz+zdist2+1.8, (notex+0.4), zz+zdist2+1.8)
  1014.         end
  1015.  
  1016.         when nn=='Db3' then
  1017.         do
  1018.             yw = 1.52 + zdist2
  1019.             box#id = ppm_CreateBox(notex-0.24, yw+zz-0.27, 0.35, 0.75, 0)
  1020.             call ppm_SetSize(20)
  1021.             call ppm_TextIntoBox(box#id, 'f')
  1022.             call ppm_DrawLine(notex, zz+zdist2+1.8, (notex+0.4), zz+zdist2+1.8)
  1023.         end
  1024.  
  1025.         when nn=='C#3'    then
  1026.         do
  1027.             yw = 1.62 + zdist2
  1028.             box#id = ppm_CreateBox(notex-0.24, yw+zz-0.15, 0.35, 0.75, 0)
  1029.             call ppm_SetSize(20)
  1030.             call ppm_TextIntoBox(box#id, 's')
  1031.             call ppm_DrawLine(notex, zz+zdist2+1.8, (notex+0.4), zz+zdist2+1.8)
  1032.         end
  1033.  
  1034.         when nn=='C3'     then
  1035.         do
  1036.             yw = 1.62 + zdist2
  1037.             if al == 'a' then call aufltief()
  1038.             call ppm_DrawLine(notex, zz+zdist2+1.8, (notex+0.4), zz+zdist2+1.8)
  1039.         end
  1040.  
  1041.         when nn=='H2'     then
  1042.         do
  1043.             yw = 1.72 + zdist2
  1044.             if al == 'a' then call aufltief()
  1045.         end
  1046.         when nn=='B2'     then
  1047.         do
  1048.             yw = 1.72 + zdist2
  1049.             box#id = ppm_CreateBox(notex-0.24, yw+zz-0.27, 0.35, 0.75, 0)
  1050.             call ppm_SetSize(20)
  1051.             call ppm_TextIntoBox(box#id, 'f')
  1052.         end
  1053.  
  1054.         when nn=='A#2'    then
  1055.         do
  1056.             yw = 1.82 + zdist2
  1057.             box#id = ppm_CreateBox(notex-0.24, yw+zz-0.15, 0.35, 0.75, 0)
  1058.             call ppm_SetSize(20)
  1059.             call ppm_TextIntoBox(box#id, 's')
  1060.         end
  1061.  
  1062.         when nn=='A2'     then
  1063.         do
  1064.             yw = 1.82 + zdist2
  1065.             if al == 'a' then call aufltief()
  1066.         end
  1067.         when nn=='Ab2'    then
  1068.         do
  1069.             yw = 1.82 + zdist2
  1070.             box#id = ppm_CreateBox(notex-0.24, yw+zz-0.27, 0.35, 0.75, 0)
  1071.             call ppm_SetSize(20)
  1072.             call ppm_TextIntoBox(box#id, 'f')
  1073.         end
  1074.  
  1075.         when nn=='G#2'    then
  1076.         do
  1077.             yw = 1.92 + zdist2
  1078.             box#id = ppm_CreateBox(notex-0.24, yw+zz-0.15, 0.35, 0.75, 0)
  1079.             call ppm_SetSize(20)
  1080.             call ppm_TextIntoBox(box#id, 's')
  1081.         end
  1082.  
  1083.         when nn=='G2'     then
  1084.         do
  1085.             yw = 1.92 + zdist2
  1086.             if al == 'a' then call aufltief()
  1087.         end
  1088.         when nn=='Gb2'    then
  1089.         do
  1090.             yw = 1.92 + zdist2
  1091.             box#id = ppm_CreateBox(notex-0.24, yw+zz-0.27, 0.35, 0.75, 0)
  1092.             call ppm_SetSize(20)
  1093.             call ppm_TextIntoBox(box#id, 'f')
  1094.         end
  1095.  
  1096.         when nn=='F#2'    then
  1097.         do
  1098.             yw = 2.02 + zdist2
  1099.             box#id = ppm_CreateBox(notex-0.24, yw+zz-0.15, 0.35, 0.75, 0)
  1100.             call ppm_SetSize(20)
  1101.             call ppm_TextIntoBox(box#id, 's')
  1102.         end
  1103.  
  1104.         when nn=='F2'     then
  1105.         do
  1106.             yw = 2.02 + zdist2
  1107.             if al == 'a' then call aufltief()
  1108.         end
  1109.         when nn=='E#2'    then
  1110.         do
  1111.             yw = 2.12 + zdist2
  1112.             box#id = ppm_CreateBox(notex-0.24, yw+zz-0.15, 0.35, 0.75, 0)
  1113.             call ppm_SetSize(20)
  1114.             call ppm_TextIntoBox(box#id, 's')
  1115.         end
  1116.  
  1117.         when nn=='E2'     then
  1118.         do
  1119.             yw = 2.12 + zdist2
  1120.             if al == 'a' then call aufltief()
  1121.         end
  1122.         when nn=='Eb2'    then
  1123.         do
  1124.             yw = 2.12 + zdist2
  1125.             box#id = ppm_CreateBox(notex-0.24, yw+zz-0.27, 0.35, 0.75, 0)
  1126.             call ppm_SetSize(20)
  1127.             call ppm_TextIntoBox(box#id, 'f')
  1128.         end
  1129.  
  1130.         when nn=='D#2'    then
  1131.         do
  1132.             yw = 2.22 + zdist2
  1133.             box#id = ppm_CreateBox(notex-0.24, yw+zz-0.15, 0.35, 0.75, 0)
  1134.             call ppm_SetSize(20)
  1135.             call ppm_TextIntoBox(box#id, 's')
  1136.         end
  1137.  
  1138.         when nn=='D2'     then
  1139.         do
  1140.             yw = 2.22 + zdist2
  1141.             if al == 'a' then call aufltief()
  1142.         end
  1143.         when nn=='Db2'    then
  1144.         do
  1145.             yw = 2.22 + zdist2
  1146.             box#id = ppm_CreateBox(notex-0.24, yw+zz-0.27, 0.35, 0.75, 0)
  1147.             call ppm_SetSize(20)
  1148.             call ppm_TextIntoBox(box#id, 'f')
  1149.         end
  1150.  
  1151.         when nn=='C#2'    then
  1152.         do
  1153.             yw = 2.32 + zdist2
  1154.             box#id = ppm_CreateBox(notex-0.24, yw+zz-0.15, 0.35, 0.75, 0)
  1155.             call ppm_SetSize(20)
  1156.             call ppm_TextIntoBox(box#id, 's')
  1157.         end
  1158.  
  1159.         when nn=='C2'     then
  1160.         do
  1161.             yw = 2.32 + zdist2
  1162.             if al == 'a' then call aufltief()
  1163.         end
  1164.         when nn=='H1'     then yw = 2.42 + zdist2
  1165.         when nn=='B1'     then
  1166.         do
  1167.             yw = 2.42 + zdist2
  1168.             box#id = ppm_CreateBox(notex-0.24, yw+zz-0.27, 0.35, 0.75, 0)
  1169.             call ppm_SetSize(20)
  1170.             call ppm_TextIntoBox(box#id, 'f')
  1171.         end
  1172.  
  1173.         when nn=='A#1'    then
  1174.         do
  1175.             yw = 2.52 + zdist2
  1176.             box#id = ppm_CreateBox(notex-0.24, yw+zz-0.15, 0.35, 0.75, 0)
  1177.             call ppm_SetSize(20)
  1178.             call ppm_TextIntoBox(box#id, 's')
  1179.         end
  1180.  
  1181.         when nn=='A1'     then
  1182.         do
  1183.             yw = 2.52 + zdist2
  1184.             if al == 'a' then call aufltief()
  1185.         end
  1186.         when nn=='Ab1'    then
  1187.         do
  1188.             yw = 2.52 + zdist2
  1189.             box#id = ppm_CreateBox(notex-0.24, yw+zz-0.27, 0.35, 0.75, 0)
  1190.             call ppm_SetSize(20)
  1191.             call ppm_TextIntoBox(box#id, 'f')
  1192.         end
  1193.  
  1194.         when nn=='G#1'    then
  1195.         do
  1196.             yw = 2.62 + zdist2
  1197.             box#id = ppm_CreateBox(notex-0.24, yw+zz-0.15, 0.35, 0.75, 0)
  1198.             call ppm_SetSize(20)
  1199.             call ppm_TextIntoBox(box#id, 's')
  1200.         end
  1201.  
  1202.         when nn=='G1'     then
  1203.         do
  1204.             yw = 2.62 + zdist2
  1205.             if al == 'a' then call aufltief()
  1206.         end
  1207.         when nn=='Gb1'    then
  1208.         do
  1209.             yw = 2.62 + zdist2
  1210.             box#id = ppm_CreateBox(notex-0.24, yw+zz-0.27, 0.35, 0.75, 0)
  1211.             call ppm_SetSize(20)
  1212.             call ppm_TextIntoBox(box#id, 'f')
  1213.         end
  1214.  
  1215.         when nn=='F#1'    then
  1216.         do
  1217.             yw = 2.72 + zdist2
  1218.             box#id = ppm_CreateBox(notex-0.24, yw+zz-0.15, 0.35, 0.75, 0)
  1219.             call ppm_SetSize(20)
  1220.             call ppm_TextIntoBox(box#id, 's')
  1221.         end
  1222.  
  1223.         when nn=='F1'     then
  1224.         do
  1225.             yw = 2.72 + zdist2
  1226.             if al == 'a' then call aufltief()
  1227.         end
  1228.  
  1229.         when nn=='E#1'    then
  1230.         do
  1231.             yw = 2.82 + zdist2
  1232.             box#id = ppm_CreateBox(notex-0.24, yw+zz-0.15, 0.35, 0.75, 0)
  1233.             call ppm_SetSize(20)
  1234.             call ppm_TextIntoBox(box#id, 's')
  1235.             call ppm_DrawLine(notex, zz+zdist2+3, (notex+0.4), zz+zdist2+3)
  1236.         end
  1237.  
  1238.         when nn=='E1' then
  1239.         do
  1240.             yw = 2.82 + zdist2
  1241.             if al == 'a' then call aufltief()
  1242.             call ppm_DrawLine(notex, zz+zdist2+3, (notex+0.4), zz+zdist2+3)
  1243.         end
  1244.  
  1245.         when nn=='Eb1'  then
  1246.         do
  1247.             yw = 2.82 + zdist2
  1248.             box#id = ppm_CreateBox(notex-0.24, yw+zz-0.27, 0.35, 0.75, 0)
  1249.             call ppm_SetSize(20)
  1250.             call ppm_TextIntoBox(box#id, 'f')
  1251.             call ppm_DrawLine(notex, zz+zdist2+3, (notex+0.4), zz+zdist2+3)
  1252.         end
  1253.  
  1254.         when nn=='D#1'  then
  1255.         do
  1256.             yw = 2.92 + zdist2
  1257.             box#id = ppm_CreateBox(notex-0.24, yw+zz-0.15, 0.35, 0.75, 0)
  1258.             call ppm_SetSize(20)
  1259.             call ppm_TextIntoBox(box#id, 's')
  1260.             call ppm_DrawLine(notex, zz+zdist2+3, (notex+0.4), zz+zdist2+3)
  1261.         end
  1262.  
  1263.         when nn=='D1'  then
  1264.         do
  1265.             yw = 2.92 + zdist2
  1266.             if al == 'a' then call aufltief()
  1267.             call ppm_DrawLine(notex, zz+zdist2+3, (notex+0.4), zz+zdist2+3)
  1268.         end
  1269.  
  1270.         when nn=='Db1' then
  1271.         do
  1272.             yw = 2.92 + zdist2
  1273.             box#id = ppm_CreateBox(notex-0.24, yw+zz-0.27, 0.35, 0.75, 0)
  1274.             call ppm_SetSize(20)
  1275.             call ppm_TextIntoBox(box#id, 'f')
  1276.             call ppm_DrawLine(notex, zz+zdist2+3, (notex+0.4), zz+zdist2+3)
  1277.         end
  1278.  
  1279.         when nn=='C#1'  then
  1280.         do
  1281.           yw = 3.02 + zdist2
  1282.             box#id = ppm_CreateBox(notex-0.24, yw+zz-0.15, 0.35, 0.75, 0)
  1283.             call ppm_SetSize(20)
  1284.             call ppm_TextIntoBox(box#id, 's')
  1285.           call ppm_DrawLine(notex, zz+zdist2+3, (notex+0.4), zz+zdist2+3)
  1286.           call ppm_DrawLine(notex, zz+zdist2+3.2, (notex+0.4), zz+zdist2+3.2)
  1287.         end
  1288.  
  1289.         when nn=='C1'  then
  1290.         do
  1291.           yw = 3.02 + zdist2
  1292.             if al == 'a' then call aufltief()
  1293.           call ppm_DrawLine(notex, zz+zdist2+3, (notex+0.4), zz+zdist2+3)
  1294.           call ppm_DrawLine(notex, zz+zdist2+3.2, (notex+0.4), zz+zdist2+3.2)
  1295.         end
  1296.         otherwise notenwert()
  1297.       end
  1298.  
  1299.         /* größe einer Notenbox */
  1300.  
  1301.         notewidht = 0.64
  1302.         noteheight = 0.97
  1303.  
  1304.  
  1305.         boxid = ppm_CreateBox(notex, yw+zz, notewidht, noteheight, 0)
  1306.         call ppm_SetSize(notepkt)
  1307.         call ppm_TextIntoBox(boxid, nw)
  1308.         bakx = notex
  1309.         notex = (notex + xw)
  1310.         if notex >=18.7 then
  1311.             do
  1312.               notex = 2.5
  1313.               zz = zz + zdist
  1314.             end
  1315.         px = notex - 4
  1316.         py = zz-1
  1317.         if px < 0 then px = 0
  1318.         call ppm_SetPagePosition(px, py+1.5)
  1319.       end
  1320.    end
  1321.  end
  1322. exit
  1323.  
  1324. auflhoch:
  1325. do
  1326.   Pbox = ppm_CreateBox(notex-0.34, yw+zz+0.07, 0.6, 1.2, 0)
  1327.   boxnm = ppm_DocNextBox(Pbox)
  1328.   call ppm_DeleteContents(boxnm)
  1329.   call ppm_ImportGraphic(boxnm, 'Genies:noten_pausen/Auflsng', Zeichen)
  1330.   return
  1331. end
  1332.  
  1333. aufltief:
  1334. do
  1335.   Pbox = ppm_CreateBox(notex-0.34, yw+zz-0.4, 0.6, 1.2, 0)
  1336.   boxnm = ppm_DocNextBox(Pbox)
  1337.   call ppm_DeleteContents(boxnm)
  1338.   call ppm_ImportGraphic(boxnm, 'Genies:noten_pausen/Auflsng', Zeichen)
  1339.   return
  1340. end
  1341.  
  1342. break_d:
  1343. break_e:
  1344. break_c:
  1345. halt:
  1346.     call exit_msg("User aborted Genie!")
  1347.  
  1348. exit_msg: procedure
  1349. do
  1350.     parse arg message
  1351.  
  1352.     if message ~= '' then
  1353.     call ppm_Inform(1,message,)
  1354.  
  1355.     call ppm_ClearStatus()
  1356.     call ppm_AutoUpdate(1)
  1357.     exit
  1358. end
  1359.